Typically, a video is converted to a bitstream by an encoder. At this time, the bitstream is stored depending on the coding type that satisfies the constraint condition of the encoder.
MPEG requires syntax and semantics, which are the constraint condition of the encoder.
The syntax, which refers to the structure, format, or length of data, shows the sequence of expressing the data. In other words, the syntax is to conform with a rule for encoding/decoding and defines the sequence and length of each element of the bitstream and a corresponding data format.
The semantics refers to the meaning of each bit that constitutes data. In other words, the semantics shows the meaning of each element of the bitstream.
Accordingly, the bitstream can be generated in various types depending on the encoding condition or the applied standard (or codec) of the encoder. Typically, each standard (e.g. MPEG-1, MPEG-2, MPEG-4 and MPEG-4 AVC) has a different bitstream syntax.
Accordingly, it may be considered that the bitstream encoded according to each standard or encoding condition has different types (i.e. syntax and semantics). A decoder corresponding to a pertinent encoder must be used to perform the decoding of the bitstream.
As described above, the typical bitstream decoder has a restriction that must satisfy the constraint condition of the encoder. This restriction makes it difficult to realize an integrated decoder corresponding to a plurality of standards.